//model:模型包
package model

import (
	"time"
)

//DriverInfo: 驾驶员信息
type DriverInfo struct {
	ID         int64      `json:"id" gorm:"primaryKey;autoIncrement"`
	DriverID   string     `json:"driverId" gorm:"primaryKey;type:text"`
	CreateAt   *time.Time `json:"createAt" gorm:"autoCreateTime"`
	ModifiedAt *time.Time `json:"modifiedAt" gorm:"autoUpdateTime"`
	DeleteAt   *time.Time `json:"deleteAt"`

	DriverName                   *string    `json:"driverName"`
	EnterpriseID                 *string    `json:"enterpriseId"`
	IDCardNumber                 *string    `json:"idCardNumber"`
	IsDelete                     *bool      `json:"isDelete"`
	Remark                       *string    `json:"remark"`
	Telephone                    *string    `json:"telephone"`
	IDCardDetail                 *string    `json:"idCardDetail"`
	QualificationID              *string    `json:"qualificationId"`
	ExpireDate                   *time.Time `json:"expireDate"`
	OccupationalIssuingAuthority *string    `json:"occupationalIssuingAuthority"`
	DepartmentID                 *string    `json:"departmentId"`
	Sex                          *int       `json:"sex"`
	FilesNumber                  *string    `json:"filesNumber"`
	IDCardPic                    *string    `json:"idCardPic"`
	DrivingLicensePic            *string    `json:"drivingLicensePic"`
	LaborContract                *string    `json:"laborContract"`
	Signature                    *string    `json:"signature"`
	IssuingAuthority             *string    `json:"issuingAuthority"`
	AnnualVerificationDate       *time.Time `json:"annualVerificationDate"`
	ChangeCertificateDate        *time.Time `json:"changeCertificateDate"`
	AccumulativeScore            *int       `json:"accumulativeScore"`
	ClearScoreDate               *time.Time `json:"clearScoreDate"`
	QuasiDrivingType             *int       `json:"quasiDrivingType"`
	UpdateTimeIn                 *time.Time `json:"updateTimeIn"`
	DrivingLicenseLocation       *string    `json:"drivingLicenseLocation"`
	ContactAddress               *string    `json:"contactAddress"`
	EmailAddress                 *string    `json:"emailAddress"`
	VehicleID                    *string    `json:"vehicleId"`
	DrivingLicenseState          *string    `json:"drivingLicenseState"`
	FirstLicenseDate             *string    `json:"firstLicenseDate"`
	IsSubmit                     *bool      `json:"isSubmit"`
	SubmitContent                *string    `json:"submitContent"`
	SubmitAt                     *time.Time `json:"submitAt"`
	SubmitBy                     *string    `json:"submitBy"`
	IsManualInput                *bool      `json:"isManualInput"`
	IsInput                      *bool      `json:"isInput"`
	InputAt                      *time.Time `json:"inputAt"`
	InputBy                      *string    `json:"inputBy"`
	IsCheckDate                  *bool      `json:"isCheckDate"`
	CheckAt                      *time.Time `json:"checkAt"`
	CheckBy                      *string    `json:"checkBy"`
	RemarkIn                     *string    `json:"remarkIn"`
	IsCheckSms                   *bool      `json:"isCheckSms"`
	IsBlack                      *bool      `json:"isBlack"`
	CreateBy                     *string    `json:"createBy"`
	ModifiedBy                   *string    `json:"modifiedBy"`
	DeleteBy                     *string    `json:"deleteBy"`
}

func (d *DriverInfo) TableName() string {
	return "t_driver_info"
}
